home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 26
/
Cream of the Crop 26.iso
/
program
/
ccdl150l.zip
/
IO
/
FPUTC.SRC
< prev
next >
Wrap
Text File
|
1997-03-24
|
2KB
|
125 lines
SECTION code
XDEF _fputc
;
; Line 7: {
;
_fputc:
LINK A6,#$0
MOVEM.L D3/D4/A2/A3,-(A7)
MOVEA.L ($C,A6),A2
MOVE.L ($8,A6),D3
LEA (__baseputc,PC),A3
MOVEQ #$FFFFFFFF,D4
;
; Line 8: if (stream->token != 0x444c)
;
CMPI.W #$444C,($1C,A2)
BEQ L_0
;
; Line 9: return (-1) ;
;
MOVE D4,D0
BRA L_2
L_0:
;
; Line 10: if (!(stream->flags & 0x0002 )) {
;
MOVE.L ($4,A2),D0
ANDI.L #$2,D0
TST.L D0
BNE L_3
;
; Line 11: stream->flags |= 0x0010 ;
;
ORI.L #$10,($4,A2)
;
; Line 12: return (-1) ;
;
MOVE D4,D0
BRA L_2
L_3:
;
; Line 14: if (!(stream->flags & 0x0040 ) && c == '\n') {
;
MOVE.L ($4,A2),D0
ANDI.L #$40,D0
TST.L D0
BNE L_5
CMPI.L #$A,D3
BNE L_5
;
; Line 15: if (_baseputc('\r',stream) == (-1) )
;
MOVE.L A2,-(A7)
MOVEQ #$D,D0
ANDI.L #$FF,D0
MOVE.L D0,-(A7)
BSR __baseputc
ADDQ.W #$8,A7
CMP.L D4,D0
BNE L_7
;
; Line 16: return (-1) ;
;
MOVE D4,D0
BRA L_2
L_7:
;
; Line 17: return _baseputc('\n',stream);
;
MOVE.L A2,-(A7)
MOVEQ #$A,D0
ANDI.L #$FF,D0
MOVE.L D0,-(A7)
BSR __baseputc
ADDQ.W #$8,A7
BRA L_2
L_5:
;
; Line 19: return _baseputc(c,stream);
;
MOVE.L A2,-(A7)
MOVE.L D3,-(A7)
BSR __baseputc
ADDQ.W #$8,A7
L_2:
MOVEM.L (A7)+,D3/D4/A2/A3
UNLK A6
RTS
XDEF _putc
;
; Line 24: {
;
_putc:
LINK A6,#$0
;
; Line 25: return fputc(c,stream);
;
MOVE.L ($C,A6),-(A7)
MOVE.L ($8,A6),-(A7)
BSR _fputc
ADDQ.W #$8,A7
L_9:
UNLK A6
RTS
XDEF _putchar
;
; Line 28: {
;
_putchar:
LINK A6,#$0
;
; Line 29: return fputc(c,(_pstreams[1]));
;
MOVE.L (__pstreams+$4,A5),-(A7)
MOVE.L ($8,A6),-(A7)
BSR _fputc
ADDQ.W #$8,A7
L_10:
UNLK A6
RTS
SECTION data
SECTION bss
XREF __baseputc
XREF __pstreams